/* Copyright (c) 2009-2010, Sean A.O. Harney <sharney3@gmail.com> */

#ifndef FUZZER_PARSE_H
#define FUZZER_PARSE_H



/* prototypes */
bool parse_init(FILE * fp, bool parseonly);
void do_start_stmt(int start_arg);
void assert_fuzzdata_stmt_used(char *this_stmt);
void assert_target_stmt_used(char *this_stmt);
void yyerror(const char *err);
void yyerror_println(const char *fmt, ...);
void yyerror_fatal(const char *err) __attribute__ ((noreturn));

void yyerror_println_fatal(const char *fmt, ...)
    __attribute__ ((noreturn));
void current_func_asl_clear(void);
void current_func_asl_add(ASL_NODE_P stmt);
void function_def(char *symname, LLIST_P asl);
void implicit_main_stmts(LLIST_P asl);


#endif				/* FUZZER_PARSE_H */
